The present invention relates to communications in computer networks. More specifically, it relates to a method and system for provisioning network addresses in a data-over-cable system.
Cable television networks such as those provided by Comcast Cable Communications, Inc., of Philadelphia, Pa., Cox Communications of Atlanta, Ga., Tele-Communications, Inc., of Englewood Colo., Time-Warner Cable, of Marietta Ga., Continental Cablevision, Inc., of Boston Mass., and others provide cable television services to a large number of subscribers over a large geographical area. The cable television networks typically are interconnected by cables such as coaxial cables or a Hybrid Fiber/Coaxial (xe2x80x9cHFCxe2x80x9d) cable system which have data rates of about 10 Mega-bits-per-second (xe2x80x9cMbpsxe2x80x9d) to about 30+ Mbps.
The Internet, a world-wide-network of interconnected computers, provides multi-media content including audio, video, graphics and text that typically requires a large bandwidth for downloading and viewing. Most Internet Service Providers (xe2x80x9cISPsxe2x80x9d) allow customers to connect to the Internet via a serial telephone line from a Public Switched Telephone Network (xe2x80x9cPSTNxe2x80x9d) at data rates including 14,400 bps, 28,800 bps, 33,600 bps, 56,000 bps and others that are much slower than the about 10 Mbps to about 30+ Mbps available on a coaxial cable or HFC cable system on a cable television network.
With the explosive growth of the Internet, many customers have desired to use the larger bandwidth of a cable television network to connect to the Internet and other computer networks.
Cable modems, such as those provided by 3Com Corporation, of Santa Clara, Calif., Motorola Corporation, of Arlington Heights, Ill., Hewlett-Packard Co., of Palo Alto, Calif., Bay Networks, of Santa Clara, Calif., Scientific-Atlanta, of Norcross, Ga. and others offer customers higher-speed connectivity to the Internet, an intranet, Local Area Networks (xe2x80x9cLANsxe2x80x9d) and other computer networks via cable television networks. These cable modems currently support a data connection to the Internet and other computer networks via a cable television network with a data rate of up to about 30+ Mbps, which is a much larger data rate than can be supported by a modem used over a serial telephone line.
However, many cable television networks provide only uni-directional cable systems, supporting only a xe2x80x9cdownstreamxe2x80x9d cable data path. A downstream data path is the flow of data from a cable system xe2x80x9cheadendxe2x80x9d to a customer. A cable system headend is a central location in the cable television network that is responsible for sending cable signals in the downstream direction. A return data path via a telephone network (i.e., a xe2x80x9ctelephony returnxe2x80x9d), such as a public switched telephone network provided by ATandT, GTE, Sprint, MCI and others, is typically used for an xe2x80x9cupstreamxe2x80x9d data path. An upstream data path is the flow of data from the customer back to the cable system headend. A cable television system with an upstream connection to a telephony network is called a xe2x80x9cdata-over-cable system with telephony return.xe2x80x9d
An exemplary data-over-cable system with telephony return includes customer premise equipment (e.g., a customer computer), a cable modem, a cable modem termination system, a cable television network, a public switched telephone network, a telephony remote access concentrator and a data network (e.g., the Internet). The cable modem termination system and the telephony remote access concentrator together are called a xe2x80x9ctelephony return termination system.xe2x80x9d
The cable modem termination system receives data packets from the data network and transmits them downstream via the cable television network to a cable modem attached to the customer premise equipment. The customer premise equipment sends response data packets to the cable modem, which sends response data packets upstream via public switched telephone network to the telephony remote access concentrator, which sends the response data packets back to the appropriate host on the data network.
In a two-way cable system without telephony return, the customer premise equipment sends response data packets to the cable modem, which sends the data packets upstream via the cable television network to the cable modem termination system. The cable modem termination system sends the data packets to appropriate hosts on the data network. The cable modem termination system sends the response data packets back to the appropriate cable modem.
As a cable modem is initialized in a data-over-cable system, it registers with a cable modem termination system to allow the cable modem to receive data over a cable television connection and from a data network (e.g., the Internet or an Intranet). The cable modem forwards configuration information it receives in a configuration file during initialization to the cable modem termination system as part of a registration request message. A cable modem also helps initialize and register any attached customer premise equipment with the cable modem termination system.
A cable modem termination system in a data-over-cable system typically manages connections to tens of thousands of cable modems. Most of the cable modems are attached to host customer premise equipment such as a customer computer. To send and receive data to and from a computer network like the Internet or an intranet, a cable modem and customer premise equipment and other network devices have a network address dynamically assigned on the data-over-cable system. Many data-over-cable systems use a Dynamic Host Configuration Protocol (xe2x80x9cDHCPxe2x80x9d) as a standard messaging protocol to dynamically allocate network addresses such as Internet Protocol (xe2x80x9cIPxe2x80x9d) addresses. As is known in the art, the Dynamic Host Configuration Protocol is a protocol for passing configuration information to network devices on a network. The Internet Protocol is an addressing protocol designed to route traffic within a network or between networks.
As was just described, many data-over-cable systems dynamically assign a network address, such as an Internet Protocol address, for a network device, such as a cable modem or customer premise equipment, with the Dynamic Host Configuration Protocol from a network address pool. When a cable modem or customer premise equipment is disconnected from the data-over-cable system, the dynamically assigned network addresses are returned to the network address pool for use by other network devices.
There are several problems associated with dynamically allocating network addresses to network devices. One problem is that certain types of cable modems are designed to be xe2x80x9calways-on devicesxe2x80x9d with their own xe2x80x9cpermanentxe2x80x9d Internet Protocol addresses (e.g., have an xe2x80x9cindefinitexe2x80x9d Internet Protocol lease time). The xe2x80x9calways-onxe2x80x9d cable modems are typically used for services such as Voice over Internet Protocol (xe2x80x9cVoIPxe2x80x9d) that typically require instant access to a data-over-cable system. In effect, each xe2x80x9calways-onxe2x80x9d cable modem necessitates that a data-over-cable system reserve one network address, such as an Internet Protocol address, for each cable modem connected to the data-over-cable system, and at least one more network address for customer premise equipment or other network devices that are connected to the cable modems. This may severely deplete the available pool of network addresses and prevent cable modems that are not xe2x80x9calways-onxe2x80x9d from using the data-over-cable system.
Another problem is that for xe2x80x9calways-onxe2x80x9d cable modems, a data-over-cable system needs to maintain a pool of Internet Protocol addresses typically at least twice the number of cable modems connected to the data-over-cable system. In many instances, this number may be as high as three, four, five or more times the number of always-on cable modems since many always-on cable modems are typically connected to multiple network devices, which in turn require their own network addresses on the data-over-cable system. For example, one cable modem may service multiple customer devices (e.g., 5-10 customer computers) on a local area network. It is very expensive and may not even be possible to obtain and/or maintain such a large number of network addresses on a data-over-cable system to allow always-on and not always-on network devices to be used simultaneously.
Thus, it is desirable to allow a data-over-cable system to provide network addresses to network devices that are always-on and network devices that are not always-on, on the same data-over-cable system. The network addresses should be provided on the data-over-cable system without reserving a large number of network addresses for a desired number of always-on cable modems.
In accordance with preferred embodiments of the present inventions, some of the problems associated with allocating network addresses on a data-over-cable system for always-on network devices are overcome. A method and system for provisioning network addresses for a data-over-cable system is provided. One aspect of a preferred embodiment of the present invention includes a method for network address provisioning. The method includes selecting a private network address marker for multiple first network devices on a second network device on a data-over-cable system. The private network address marker indicates that a private network address is to be selected for the multiple first network devices. The private network address is not addressable outside of the data-over-cable system. A public network address marker is selected for multiple other network devices associated with the multiple first network devices. The public network address marker indicates that a public network address is to be selected for the multiple of other network devices. The public network address is addressable outside of the data-over-cable system. A private network address scope is set for the private address marker on a network address server associated with the data-over-cable system. A public network address scope is set for the public network address marker on the network address server associated with the data-over-cable system. The data-over-cable system is divided into a private virtual network and a public virtual network using the private network address marker and the public network address marker.
Another aspect of the present invention includes a method for using network address provisioning. The method includes receiving a first message with a first configuration protocol on a second network device from a network device to request a network address for the network device on the data-over-cable system. A test is conducted to determine whether the network device is to receive a private network address on the data-over-cable system with a network address table associated with the second network device. If the network device is to receive a private network address, a private network address marker is obtained on the second network device. The private network address marker indicates that a private network address is to be selected for network device. The private network address is not addressable outside of the data-over-cable system. A first network address field in the first message is set with the private network address marker.
If the network device is not to receive a private network address, a public network address marker is obtained on the second network device. The public network address marker indicates that a public network address is to be selected for network device. The public network address is addressable outside of the data-over-cable system. A first network address field in the first message is set with the public network address marker.
The first message, including either a private network address marker or a public network address marker in the first network address field, is forwarded to a network address server associated with the data-over-cable system. The first network address field of the first message is used by the network address server to allocate a private or public network address on the data-over-cable system for the network device. If the first network address field includes a private address marker, the network device is allocated a private network address from a private network address pool by the network address server. If the first network address field includes a public network address marker, the network device is allocated a public network address by from public network address pool the network address server.
Preferred embodiments of the present invention may allow a first network device such as a cable modem (e.g., an always-on cable modem), to receive a private network address, such as a private Internet Protocol address, on the data-over-cable system. Other network devices, such as customer premise equipment, associated with the first network device, receive public network addresses, such as Internet Protocol addresses, on the data-over-cable system. Thus, preferred embodiments of the present invention may reduce a number of public network addresses, such as public Internet Protocol addresses, required by the data-over-cable system and may allow the data-over-cable system to split into two or more virtual networks (e.g., a private virtual network and a public virtual network).
The foregoing and other features and advantages of a preferred embodiment of the present invention will be more readily apparent from the following detailed description, which proceeds with references to the accompanying drawings.